package com.qqtech.qquan.order.model;

import java.math.BigDecimal;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.qqtech.core.frame.model.BaseDomain;

@SuppressWarnings("serial")
public class OrderBase extends BaseDomain {

	// columns START
	/** 订单号 */
	private java.lang.String orderNo;
	/** 订单名称,默认为订单商品名称，如有多个商品，可以直接写"xxx"等 */
	private java.lang.String title;
	/** 图片 */
	private java.lang.String img;
	/** 订单对应的业务类型：1-家政;2-商城;3-闲置品;4-活动;5-代收代送;6-圈商 */
	private java.lang.Integer orderType;
	/** 买方用户id */
	private java.lang.Integer buyerId;
	/** 卖方用户id */
	private java.lang.Integer sellerId;
	/** 卖家店铺id */
	private java.lang.Integer shopId;
	/** 订单总额 */
	private BigDecimal total;
	/** 订单原始总额 */
	private BigDecimal originalTotal;
	/** 卖家总额 **/
	private BigDecimal sellerTotal;
	/** 订单状态OrderStatusEnum:1-未完成;2-已完成;3-已取消;4-已删除 */
	private java.lang.Integer orderStatus;

	/** 订单状态发生的时间 */
	private java.sql.Timestamp orderStatusAt;

	/** 已取消状态的类型:1-买家手动取消;2-卖家手动取消;3-逾期自动取消 ;4-后台管理人员取消 */
	private java.lang.Integer orderStatusCancelType;

	/** 付款类型PayTypeEnum:1-货到付款;2-在线支付 */
	private java.lang.Integer payType;

	/** 订单支付状态payStatusEnum:1-未付款;2-已付款 */
	private java.lang.Integer payStatus;
	/** 付款状态时间 */
	private java.sql.Timestamp payStatusAt;
	/** 收发货状态DeliveryStatusEnum:1-未发货;2-商家已发货;3-买家已签收 */
	private java.lang.Integer deliveryStatus;
	/** 收发货状态的签收类型:1-买家手动签收;2-逾期自动取消;3-配送人签收;4-买家自提自动签收 */
	private java.lang.Integer deliveryStatusSignType;
	/** 收发货状态时间 */
	private java.sql.Timestamp deliveryStatusAt;
	/** 退货状态ReturnStatusEnum:1-不需要退货;2-退货中;3-退货完成 */
	private java.lang.Integer returnStatus;
	/** 退货状态时间 */
	private java.sql.Timestamp returnStatusAt;
	/** 退货状态的完成类型:1-卖家手工退货;2-逾期自动退货 */
	private java.lang.Integer returnStatusCompleteType;
	/** 是否回调YesOrNoEnum:1-是;2-否 */
	private java.lang.Integer isCallBack;
	/** 未付款情况下自动失效时间 */
	private java.sql.Timestamp autoExpireAt;
	/** 已付款情况下自动确认收货的时间 */
	private java.sql.Timestamp autoReceiveAt;
	/** 申请退款后的自动退款时间 */
	private java.sql.Timestamp autoRefundAt;
	/** 订单评价状态commentStatusEnum:1-未付款;2-已付款;3-退款中;4-已退款 */
	private java.lang.Integer commentStatus;
	/** 订单参与的促销活动,参与多个活动分号隔开 */
	private String salesId;
	/** 买方备注留言 */
	private String remark;

	/** 配送状态：1-待配送;2-配送中;3-已配送 */
	private java.lang.Integer sendDeliveryStatus;
	/** 配送时间 */
	private java.sql.Timestamp sendDeliveryAt;
	/** 社区id */
	private java.lang.Integer communityId;
	/** 是否外部供应商订单:1-是;2-否 */
	private java.lang.Integer isExternal;
	/** 退款状态ReturnPayStatusEnum:1-不需要退款;2-申请退款;3-退款完成;4-拒绝退款 */
	private java.lang.Integer returnPayStatus;
	/** 退款状态的方式:1-卖家同意退款;2-圈圈后台同意退款 */
	private java.lang.Integer returnPayStatusAgreeType;
	/** 退款状态时间 */
	private java.sql.Timestamp returnPayStatusAt;
	/** 补贴类型:1-商家补贴;2-圈圈补贴;3-没有补贴 */
	private java.lang.Integer subsidyType;
	/** 补贴额度(如满99减50活动此数值为50) */
	private BigDecimal subsidy;

	// columns END
	public OrderBase() {
	}

	public OrderBase(java.lang.Integer id) {
		this.id = id;
	}

	public java.sql.Timestamp getAutoExpireAt() {
		return this.autoExpireAt;
	}

	public java.sql.Timestamp getAutoReceiveAt() {
		return this.autoReceiveAt;
	}

	public java.sql.Timestamp getAutoRefundAt() {
		return this.autoRefundAt;
	}

	public java.lang.Integer getBuyerId() {
		return this.buyerId;
	}

	public java.lang.Integer getCommentStatus() {
		return commentStatus;
	}
	public java.lang.Integer getDeliveryStatus() {
		return this.deliveryStatus;
	}

	public java.sql.Timestamp getDeliveryStatusAt() {
		return this.deliveryStatusAt;
	}

	public java.lang.Integer getDeliveryStatusSignType() {
		return deliveryStatusSignType;
	}

	public java.lang.String getImg() {
		return this.img;
	}

	public java.lang.Integer getIsCallBack() {
		return this.isCallBack;
	}

	public java.lang.String getOrderNo() {
		return this.orderNo;
	}

	public java.lang.Integer getOrderStatus() {
		return this.orderStatus;
	}

	public java.sql.Timestamp getOrderStatusAt() {
		return this.orderStatusAt;
	}

	public java.lang.Integer getOrderStatusCancelType() {
		return orderStatusCancelType;
	}

	public java.lang.Integer getOrderType() {
		return this.orderType;
	}

	public BigDecimal getOriginalTotal() {
		return originalTotal;
	}

	public BigDecimal getSellerTotal() {
		return sellerTotal;
	}

	public void setSellerTotal(BigDecimal sellerTotal) {
		this.sellerTotal = sellerTotal;
	}

	public java.lang.Integer getPayStatus() {
		return this.payStatus;
	}

	public java.sql.Timestamp getPayStatusAt() {
		return this.payStatusAt;
	}

	public java.lang.Integer getPayType() {
		return this.payType;
	}

	public String getRemark() {
		return remark;
	}

	public java.lang.Integer getReturnStatus() {
		return this.returnStatus;
	}

	public java.sql.Timestamp getReturnStatusAt() {
		return this.returnStatusAt;
	}

	public java.lang.Integer getReturnStatusCompleteType() {
		return returnStatusCompleteType;
	}

	public String getSalesId() {
		return salesId;
	}

	public java.lang.Integer getSellerId() {
		return this.sellerId;
	}

	public java.lang.Integer getShopId() {
		return shopId;
	}

	public java.lang.String getTitle() {
		return this.title;
	}

	public BigDecimal getTotal() {
		return this.total;
	}

	public void setAutoExpireAt(java.sql.Timestamp autoExpireAt) {
		this.autoExpireAt = autoExpireAt;
	}

	public void setAutoReceiveAt(java.sql.Timestamp autoReceiveAt) {
		this.autoReceiveAt = autoReceiveAt;
	}

	public void setAutoRefundAt(java.sql.Timestamp autoRefundAt) {
		this.autoRefundAt = autoRefundAt;
	}

	public void setBuyerId(java.lang.Integer buyerId) {
		this.buyerId = buyerId;
	}

	public void setCommentStatus(java.lang.Integer commentStatus) {
		this.commentStatus = commentStatus;
	}

	public void setDeliveryStatus(java.lang.Integer deliveryStatus) {
		this.deliveryStatus = deliveryStatus;
	}

	public void setDeliveryStatusAt(java.sql.Timestamp deliveryStatusAt) {
		this.deliveryStatusAt = deliveryStatusAt;
	}

	public void setDeliveryStatusSignType(java.lang.Integer deliveryStatusSignType) {
		this.deliveryStatusSignType = deliveryStatusSignType;
	}

	public void setImg(java.lang.String img) {
		this.img = img;
	}

	public void setIsCallBack(java.lang.Integer isCallBack) {
		this.isCallBack = isCallBack;
	}

	public void setOrderNo(java.lang.String orderNo) {
		this.orderNo = orderNo;
	}

	public void setOrderStatus(java.lang.Integer orderStatus) {
		this.orderStatus = orderStatus;
	}

	public void setOrderStatusAt(java.sql.Timestamp orderStatusAt) {
		this.orderStatusAt = orderStatusAt;
	}

	public void setOrderStatusCancelType(java.lang.Integer orderStatusCancelType) {
		this.orderStatusCancelType = orderStatusCancelType;
	}

	public void setOrderType(java.lang.Integer orderType) {
		this.orderType = orderType;
	}

	public void setOriginalTotal(BigDecimal originalTotal) {
		this.originalTotal = originalTotal;
	}

	public void setPayStatus(java.lang.Integer payStatus) {
		this.payStatus = payStatus;
	}

	public void setPayStatusAt(java.sql.Timestamp payStatusAt) {
		this.payStatusAt = payStatusAt;
	}

	public void setPayType(java.lang.Integer payType) {
		this.payType = payType;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public void setReturnStatus(java.lang.Integer returnStatus) {
		this.returnStatus = returnStatus;
	}

	public void setReturnStatusAt(java.sql.Timestamp returnStatusAt) {
		this.returnStatusAt = returnStatusAt;
	}

	public void setReturnStatusCompleteType(java.lang.Integer returnStatusCompleteType) {
		this.returnStatusCompleteType = returnStatusCompleteType;
	}

	public void setSalesId(String salesId) {
		this.salesId = salesId;
	}

	public void setSellerId(java.lang.Integer sellerId) {
		this.sellerId = sellerId;
	}

	public void setShopId(java.lang.Integer shopId) {
		this.shopId = shopId;
	}

	public void setTitle(java.lang.String title) {
		this.title = title;
	}

	public void setTotal(BigDecimal total) {
		this.total = total;
	}

	public java.lang.Integer getSendDeliveryStatus() {
		return sendDeliveryStatus;
	}

	public void setSendDeliveryStatus(java.lang.Integer sendDeliveryStatus) {
		this.sendDeliveryStatus = sendDeliveryStatus;
	}

	public java.sql.Timestamp getSendDeliveryAt() {
		return sendDeliveryAt;
	}

	public void setSendDeliveryAt(java.sql.Timestamp sendDeliveryAt) {
		this.sendDeliveryAt = sendDeliveryAt;
	}

	public java.lang.Integer getCommunityId() {
		return communityId;
	}

	public void setCommunityId(java.lang.Integer communityId) {
		this.communityId = communityId;
	}

	public java.lang.Integer getIsExternal() {
		return isExternal;
	}

	public void setIsExternal(java.lang.Integer isExternal) {
		this.isExternal = isExternal;
	}

	public java.lang.Integer getReturnPayStatus() {
		return returnPayStatus;
	}

	public void setReturnPayStatus(java.lang.Integer returnPayStatus) {
		this.returnPayStatus = returnPayStatus;
	}

	public java.sql.Timestamp getReturnPayStatusAt() {
		return returnPayStatusAt;
	}

	public void setReturnPayStatusAt(java.sql.Timestamp returnPayStatusAt) {
		this.returnPayStatusAt = returnPayStatusAt;
	}

	public java.lang.Integer getReturnPayStatusAgreeType() {
		return returnPayStatusAgreeType;
	}

	public void setReturnPayStatusAgreeType(java.lang.Integer returnPayStatusAgreeType) {
		this.returnPayStatusAgreeType = returnPayStatusAgreeType;
	}

	public java.lang.Integer getSubsidyType() {
		return subsidyType;
	}

	public void setSubsidyType(java.lang.Integer subsidyType) {
		this.subsidyType = subsidyType;
	}

	public BigDecimal getSubsidy() {
		return subsidy;
	}

	public void setSubsidy(BigDecimal subsidy) {
		this.subsidy = subsidy;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
	}
}
